#关于激活函数的常见问答
"""
1. 什么是激活函数？为什么需要激活函数？
   - 激活函数（Activation Function）是神经网络中引入非线性的函数。没有激活函数，神经网络无论有多少层，整体都等价于一个线性变换，无法拟合复杂的非线性关系。

2. 常见的激活函数有哪些？各自的优缺点是什么？
   - Sigmoid（S型函数）: 输出范围(0,1)，优点：平滑，常用于二分类输出。缺点：梯度消失，输出非零均值，收敛慢。
   - Tanh（双曲正切）: 输出范围(-1,1)，优点：零均值，收敛比Sigmoid快。缺点：梯度消失。
   - ReLU（Rectified Linear Unit）: f(x)=max(0,x)，优点：收敛快，计算简单，缓解梯度消失。缺点：神经元可能“死亡”（输出恒为0）。
   - Leaky ReLU: 改进ReLU，负区间有小斜率，缓解神经元死亡问题。
   - Softmax: 多分类输出层常用，将输出转为概率分布。
   - Swish、ELU等：新型激活函数，兼具ReLU优点并缓解其缺陷。

3. 为什么ReLU比Sigmoid/Tanh更常用？
   - ReLU计算简单，收敛速度快，能有效缓解梯度消失问题，适合深层网络。

4. 激活函数的选择对网络性能有何影响？
   - 影响收敛速度、梯度传播、模型表达能力。选择合适的激活函数能提升模型性能和训练效率。

5. 输出层常用哪些激活函数？
   - 二分类：Sigmoid
   - 多分类：Softmax
   - 回归：一般不用激活函数或用线性激活

6. 激活函数的数学表达式举例
   - Sigmoid:    f(x) = 1 / (1 + exp(-x))
   - Tanh:       f(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))
   - ReLU:       f(x) = max(0, x)
   - LeakyReLU:  f(x) = x if x>0 else αx (α一般取0.01)
   - Softmax:    f(x_i) = exp(x_i) / sum_j(exp(x_j))

7. 激活函数的使用注意事项
   - 隐藏层常用ReLU及其变种，输出层根据任务选择。
   - 避免所有层都用Sigmoid/Tanh，深层网络易梯度消失。
   - 训练时注意激活函数的分布特性，适当归一化输入。

"""
